Methods and systems for providing vehicle repair information

ABSTRACT

Methods and systems for providing. In an example, the computing device may be configured to receive vehicle information including identification information of a vehicle and/or information describing condition of the vehicle. The computing device also may be configured to match the vehicle information to content of a vehicle repair database so as to identify repair information relating to the vehicle. The computing device further may be configured to receive geographic information identifying a geographic location relating to the vehicle. The computing device also may be configured to provide, to a communication network, a subset of the identified repair information based on the geographic information. The service advisor may be able to access the subset of the identified repair information on a display device coupled to the computing device.

BACKGROUND

Modern vehicles include electronic control modules and diagnosticsystems for monitoring the status of associated vehicle equipment.Information conveyed by the diagnostic systems has become morestandardized, assisting in the evaluation of vehicle conditions andidentifying appropriate repair procedures.

A diagnostic tool may be connected to a Data Link Connector (DLC) toretrieve diagnostic trouble code(s) or DTC associated with a malfunctionor problem that the vehicle is experiencing. A technician can use theretrieved DTC to look up information relating to the malfunction. Thetechnician may look up the information in a repair manual or databasestoring information associated with the DTC to identify the malfunctionor a possible component failure corresponding to the DTC.

SUMMARY

The present application discloses systems and methods for providingvehicle repair information. In one aspect, a method is described. Themethod may comprise receiving, at a computing device, vehicleinformation comprising one or more of (i) identification information ofa vehicle, and (ii) information describing condition of the vehicle. Themethod also may comprise matching, by the computing device, the vehicleinformation to content of a vehicle repair database so as to identifyrepair information relating to the vehicle. The method further maycomprise receiving, at the computing device, geographic informationidentifying a geographic location relating to the vehicle. The methodalso may comprise providing, from the computing device to acommunication network, a subset of the identified repair informationbased on the geographic information.

In another aspect, a non-transitory computer readable medium havingstored thereon instructions executable by a computing device to causethe computing device to perform functions is described. The functionsmay comprise receiving, from a communication network, vehicleinformation comprising one or more of (i) identification information ofa vehicle, and (ii) information describing condition of the vehicle. Thefunctions also may comprise matching the vehicle information to contentof a vehicle repair database so as to identify repair informationrelating to the vehicle. The functions further may comprise receiving,from the communication network, geographic information identifying ageographic location relating to the vehicle. The functions also maycomprise providing, to the communication network, a subset of theidentified repair information based on the geographic information.

In still another aspect, a system is described. The system may comprisea vehicle repair database including one or more of (i) informationrelating to prior experience of repairing vehicles, and (ii) originalequipment manufacturer vehicle information including component-specificinformation. The system also may comprise a computing device coupled tothe vehicle repair database. The computing device may include anon-transitory computer readable storage device storing computerreadable instructions, a processor configured to execute the computerreadable instructions, and a communication device configured to transmitdata to a communication network and to receive given data from thecommunication network. The computing device may be configured toreceive, from the communication network, vehicle information comprisingone or more of (i) identification information of a vehicle, and (ii)information describing condition of the vehicle. The computing devicealso may be configured to identify repair information relating to thevehicle based on matching of the vehicle information to content of thevehicle repair database. The computing device further may be configuredto receive, from the communication network, geographic informationidentifying a geographic location relating to the vehicle. The computingdevice also may be configured to provide, to the communication network,a subset of the identified repair information based on the geographicinformation.

In yet another aspect a method is described. The method may compriseproviding to a communication network, by a computing device, vehicleinformation comprising one or more of (i) identification information ofa vehicle, and (ii) information describing condition of the vehicle. Themethod also may comprise providing to the communication network, by thecomputing device, geographic information identifying a geographiclocation relating to the vehicle. The method further may comprisereceiving from the communication network, at the computing device,repair information based on the vehicle information and the geographicinformation.

In yet still another aspect, a system is described. The system maycomprise a display device. The system also may comprise a computingdevice coupled to the display device. The computing device may include anon-transitory computer readable storage device storing computerreadable instructions, a processor configured to execute the computerreadable instructions, and a communication device configured to transmitdata to a communication network and to receive given data from thecommunication network. The computing device may be configured toprovide, to the communication network, vehicle information comprisingone or more of (i) identification information of a vehicle, and (ii)information describing condition of the vehicle. The computing devicealso may be configured to provide, to the communication network,geographic information identifying a geographic location relating to thevehicle. The computing device further may be configured to receive, fromthe communication network, repair information based on the vehicleinformation and the geographic information. The computing device alsomay be configured to generate a display of the repair information on thedisplay device.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the figures and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

FIGS. 1A-1B illustrate example systems for providing vehicle repairinformation, in accordance with example embodiments.

FIG. 2 is a flow chart of an example method to provide vehicle repairinformation, in accordance with an example embodiment.

FIG. 3 is a flow chart of another example method to provide vehiclerepair information, in accordance with an example embodiment.

FIG. 4A illustrates an example interface for providing vehicle repairinformation, in accordance with an example embodiment.

FIG. 4B illustrates another example interface for providing vehiclerepair information, in accordance with an example embodiment.

FIG. 5 is a functional block diagram illustrating an example computingdevice used in a computing system that is arranged in accordance with atleast some embodiments described herein.

FIG. 6 is a schematic illustrating a conceptual partial view of anexample computer program product that includes a computer program forexecuting a computer process on a computing device, arranged accordingto at least some embodiments presented herein.

DETAILED DESCRIPTION

The following detailed description describes various features andfunctions of the disclosed systems and methods with reference to theaccompanying figures. In the figures, similar symbols identify similarcomponents, unless context dictates otherwise. The illustrative systemand method embodiments described herein are not meant to be limiting. Itmay be readily understood that certain aspects of the disclosed systemsand methods can be arranged and combined in a wide variety of differentconfigurations, all of which are contemplated herein.

In an example, a computing device (e.g., a server) may be configured toreceive a search query relating to a vehicle repair issue (e.g., adiagnostic trouble code (DTC)) from a technician searching forinformation about the vehicle repair issue. The computing device may beconfigured to search a vehicle repair database based on the search queryand provide search results to the technician. The search results mayinclude general information about the repair issue, potential fixes,etc. The vehicle repair issue, however, may be specific to a givengeographic location. As an example, a malfunction that a vehicle isexperiencing may be a result of cold weather at a given geographicregion. The same malfunction may not be experienced in another regioncharacterized by hot weather, for example. Therefore, providingregion-specific repair information based on a geographic location of thevehicle may focus the search results and may help diagnose and repairthe malfunction more efficiently.

In an example, the computing device may be configured to receive vehicleinformation including identification information of a vehicle and/orinformation describing condition of the vehicle. The computing devicealso may be configured to match the vehicle information to content of avehicle repair database so as to identify repair information relating tothe vehicle. The vehicle repair database may, for example, includeinformation relating to prior experience of repairing vehicles and/ororiginal equipment manufacturer vehicle information includingcomponent-specific information. The computing device further may beconfigured to receive geographic information identifying a geographiclocation relating to the vehicle. The computing device also may beconfigured to provide, to a communication network, a subset of theidentified repair information based on the geographic information. Thecomputing device further may be configured to generate a display of thesubset of the identified repair information on a display device coupledto the computing device.

Referring now to the figures, FIGS. 1A-1B illustrate example systems forproviding vehicle repair information, in accordance with exampleembodiments. The example systems may include several differentcomponents and subsystems. Components and subsystems of the examplesystems may be configured to work in an interconnected fashion with eachother and/or with other components coupled to respective systems.

Referring to FIG. 1A, a vehicle 102 may experience a malfunction or anyother issue that may require adjustment or repair, or may be due forroutine maintenance as part of a maintenance schedule, for example. Anexample vehicle may take a form of an automobile. Alternatively, avehicle control system may be implemented in or take the form of othervehicles, such as trucks, motorcycles, buses, boats, airplanes,helicopters, lawn mowers, recreational vehicles, amusement parkvehicles, farm equipment, construction equipment, trams, golf carts,trains, and trolleys.

The embodiments described herein may include or be utilized with anyappropriate voltage or current source, such as a battery, an alternator,a fuel cell, and the like, providing any appropriate current and/orvoltage, such as about 12 Volts, about 42 Volts and the like.

The embodiments described herein may be used with any desired system orengine. Those systems or engines may comprises items utilizing fossilfuels, such as gasoline, natural gas, propane and the like, electricity,such as that generated by battery, magneto, fuel cell, solar cell andthe like, wind and hybrids or combinations thereof. Those systems orengines may be incorporated into other systems, such as an automobile, atruck, a boat or ship, a motorcycle, a generator, an airplane and thelike.

An owner 104 of the vehicle 102 may drive the vehicle to a repair shopto obtain help diagnosing and repairing the malfunction, for example.The owner 104 may be greeted by a service advisor 106 who may connect adiagnostic tool 108 through a connector 110 to the vehicle 102. Forexample, the diagnostic tool 108 may be connected to the vehicle 102 toretrieve vehicle identification information such as year, make, model,and engine type of the vehicle 102. Also, the diagnostic tool 108 may beconnected to a vehicle electronic control module (e.g., engine controlmodule, transmission control module, ABS control module, etc.) to detectthe malfunction (e.g., retrieve a DTC indicative of the malfunction).

The diagnostic tool 108 may be configured to communicate with thevehicle 102 over one or more communication protocols used in the vehicle102 such as Controller Area Network (CAN), SAE (Society of AutomotiveEngineers) J1850, ISO 9141, Keyword 2000 and others.

The diagnostic tool 108 further may be configured to communicate througha transmitter 112 with a computing device 114 to provide vehicleidentification or diagnostic information to the computing device 114.The computing device 114 can be, for example, a mobile telephone,personal digital assistant (PDA), laptop, notebook, or netbook computer,tablet computing device, etc. The diagnostic tool 108 may be configuredto communicate with the computing device 114 over one or morecommunication protocols different from the one or more communicationprotocols used in the vehicle 102. The transmitter 112 may be incommunication with the computing device 114 through a wired or wirelessnetwork connection.

In some examples, alternatively or additionally, the vehicle 102 may beconfigured to transmit the vehicle identification information and thediagnostic information directly to the computing device 114 withoutconnecting the diagnostic tool 108 to the vehicle 102.

Additionally, the service advisor 106 may walk around the vehicle 102 toperform visual inspection of the vehicle 102, identify symptoms of themalfunction, interview the owner 104 to record a complaint associatedwith the malfunction, and log information describing condition of thevehicle to the computing device 114 to create a repair order, forexample. The repair order may be created in an electronic format or maybe prepared in paper format and manually entered into a computer orconverted (e.g., scanned) to an electronic format.

Referring now to FIG. 1B, the computing device 114 may be configured toprovide or transmit vehicle information (e.g., the identificationinformation, the information describing the condition of the vehicle,the repair order, etc.) to a shop management computing device 116. Inone example, the shop management computing device 116 may be configuredto provide or transmit the vehicle information through a communicationnetwork 118 (e.g., network the internet) to a data center or server 120.In another example, the computing device 114 may be configured toprovide the vehicle information, through the communication network 118,directly to the server 120. The communication network 118 may be wiredor wireless and, at least a portion of the network 118, may be externalto the server 120 and the computing devices 114 and 116). In someexamples, the computing device 114 or the shop management computingdevice 116 may be configured to communicate directly with the server 120through point-to-point links. The computing device 114, the shopmanagement computing device 116, and the server 120 may each include acommunication device that may be configured to transmit data to andreceive any of the data discussed in this description from thecommunication network 118.

The data center or server 120 may be configured to be in communicationwith a vehicle repair database 122. The vehicle repair database 122 mayinclude original equipment manufacturer (e.g., automakers or partsuppliers) information including component-specific information such ascomponent specification, wiring diagrams, diagnostic flow charts,calibration procedures, life expectancy, etc.

The vehicle repair database 122 also may include information relating toprior experience of repairing vehicles, for example. The informationrelating to prior experience of repairing vehicles may include, forexample, repair information of repair cases collected from repair shops.Repair orders associated with the repair cases may have been prepared inelectronic format or may have been prepared in paper format thenmanually entered into the vehicle repair database 122 or converted(e.g., scanned) into an electronic format that can be stored in thevehicle repair database 122.

In an example, vehicle repair information (e.g., symptoms, repair order,successful vehicle fixes, etc.) may be stored in local computing systemsof repair shops (service centers, dealerships, etc.) and may be backedup and transmitted to the data center or server 120 and stored in thevehicle repair database 122 on a frequent basis. By regularlytransmitting updated information (e.g., new repair cases) to the vehiclerepair database 122, content of the vehicle repair database 122 mayremain updated with latest fixes solutions, and component information,for example.

The server 120 may be configured to match the received vehicleinformation to content of the vehicle repair database 122 to mineinformation stored in the vehicle repair database 122 and identify ordetermine repair information relating to the vehicle.

In an example, matching the received vehicle information to the contentof the vehicle repair database 122 may include searching the vehiclerepair database 122 to match and correlate keywords or combinations ofkeywords in the repair order along with other vehicle information (e.g.,vehicle's model year, make, and model, mileage or odometer reading,etc.) to content of stored repair cases to determine prioritized fixes,relevant component test procedures, etc. In another example, matchingthe received information to the content of the vehicle repair database122 may include mapping the vehicle information to tables or otherdatabases comprising repair test procedures, prioritized fixes, partreplacement statistics, etc. to retrieve relevant repair information.The vehicle repair database 122 may be configured or arranged tofacilitate matching the received vehicle information to the content ofthe vehicle repair database 122.

The repair information may include, for example, tips, solutions,potential fixes, a list of parts that may need to be replaced, testprocedures, wiring diagrams, repair procedures, questions and answersrelated to the condition of the vehicle, etc.

In an example, the server 120 further may be configured to receivegeographic information identifying a geographic location relating to thevehicle 102. For example, one or both of the computing device 114 andthe shop management computing device 116 may be configured to includeGlobal Positioning System (GPS) sensor that may be configured to aprovide to the server 120 information identifying a location (e.g.,longitude and latitude) of the computing device 114, or the shopmanagement computing device 116, and/or the vehicle 102 to which thecomputing device 114, or the shop management computing device 116 may beconnected.

In one example, a repair order transmitted to the server 120, via thecomputing device 114 or the shop management computing device 116 forexample, may include a zip code or mailing code for the shop identifyinga region where the repair shop and the vehicle 102 being serviced at therepair shop are located. In another example, the vehicle 102 may includea GPS sensor that may be configured to provide the geographicinformation directly to the server 120. These examples are forillustration only. Other means for providing the server 120 withgeographic information identifying the geographic location are possible.

A given region may refer to an area encompassed within or defined by agiven zip code, phone area code, mailing code, or a given area within apredetermined distance from the identified geographic location (e.g.,the location of the vehicle 102 or the repair shop). A size of the givenregion may be defined or selected by a user (e.g., a technician) or maybe preselected or predetermined by a given computing device (e.g., theserver 120, the computing device 114, or the shop management computingdevice 116).

In some examples, the geographic location relating to the vehicle 102may not be a current location of the vehicle 102 or the repair shopwhere the vehicle 102 is being serviced. As an example, the geographicinformation may include information identifying an original salelocation of the vehicle 102. The vehicle 102 may be serviced at a repairshop in Ohio, the United States but may have originally been purchasedin California, the United States and may, thus, include specialcomponents and subsystems that are specific to California.

In one example, the geographic information may also include informationidentifying locations at which the vehicle 102 was previously driven. Inanother example, the geographic information may include informationidentifying locations or regions that are similar to the location of thevehicle 102 in weather conditions, altitude, etc. In still anotherexample, the geographic information may include information identifyinga given location that may have had weather conditions similar to givenweather conditions on a date or time of year that the vehicle 102started showing symptoms of the malfunction.

The server 120, thus, may be configured to provide through thecommunication network 118 a subset of the identified repair informationbased on the geographic location. The subset of the identified repairinformation may provide, for example, region-specific information to thetechnician assigned to repair the vehicle 102 to focus the technician'seffort instead of providing a wide scope of repair information.

As an example, the server 120 may be configured to receive the vehicleinformation and the geographic information identifying the geographiclocation of the vehicle 120, and may be configured to match the receivedinformation to a given repair order information and associated weatherinformation previously stored from a different repair case where theweather conditions associated with the given repair order previouslystored may be similar to given weather conditions at the geographiclocation of the vehicle 102 being currently serviced. The server 120,accordingly, may provide focused repair information based on the vehicleinformation and the geographic information to the computing device 114or another computing device at the repair shop for use by a giventechnician assigned to repair the vehicle 102.

Respective repair information and results related to repairing thevehicle 102 may be stored in the vehicle repair database 122 to build acontinuously updated repository of knowledge and experience in thevehicle repair database 122 for reference in future repair cases.

FIG. 2 is a flow chart of an example method 200 to provide vehiclerepair information, in accordance with an example embodiment. The method200 described in FIG. 2 may, for example, be used by the example systemsdescribed in FIGS. 1A-1B and may be implemented by a server computingdevice such as the server 120 described in FIG. 1B.

The method 200 may include one or more operations, functions, or actionsas illustrated by one or more of blocks 202-208. Although the blocks areillustrated in a sequential order, these blocks may in some instances beperformed in parallel, and/or in a different order than those describedherein. Also, the various blocks may be combined into fewer blocks,divided into additional blocks, and/or removed based upon the desiredimplementation.

In addition, for the method 200 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium ormemory, for example, such as a storage device including a disk or harddrive. The computer readable medium may include a non-transitorycomputer readable medium, for example, such as computer-readable mediathat stores data for short periods of time like register memory,processor cache and Random Access Memory (RAM). The computer readablemedium may also include non-transitory media or memory, such assecondary or persistent long term storage, like read only memory (ROM),optical or magnetic disks, compact-disc read only memory (CD-ROM), forexample. The computer readable media may also be any other volatile ornon-volatile storage systems. The computer readable medium may beconsidered a computer readable storage medium, a tangible storagedevice, or other article of manufacture, for example.

In addition, for the method 200 and other processes and methodsdisclosed herein, each block in FIG. 2 may represent circuitry that iswired to perform the specific logical functions in the process.

At block 202, the method 200 includes receiving, at a computing device,vehicle information comprising one or more of (i) identificationinformation of a vehicle, and (ii) information describing condition ofthe vehicle. The computing device may, for example, include the server120 described in FIG. 1B. In an example, the identification informationof the vehicle may include one or more of model year, year ofmanufacture, make, and model (YMM) of the vehicle. Additionally, theidentification information may include engine type and/or vehicleidentification number (VIN), which may be indicative of location ofmanufacture of the vehicle, vehicle attributes, model year of thevehicle, a manufacturer identifier, manufacturing plant code, etc.

In an example, a diagnostic or scan tool may be connected to the vehicleto determine or retrieve the identification information. In thisexample, the diagnostic tool may be configured to transmit theidentification information to a communication network, and the computingdevice (e.g., the server 120) may be configured to receive theinformation from the communication network. In another example, thevehicle may be configured to transmit the identification informationdirectly through the communication network to the computing device.

Additionally or alternatively, the computing device may be configured toreceive information describing condition of the vehicle. The informationdescribing condition of the vehicle may, for example, include odometerreading (i.e., mileage driven by the vehicle), a diagnostic trouble code(DTC), and description of symptoms of a malfunction that the vehicle maybe experiencing. The description of symptoms may for example be a recordof a customer complaint.

In an example, the diagnostic tool may be connected to a vehicleelectronic control module to retrieve the DTC indicative of themalfunction or type of malfunction. The information describing thecondition of the vehicle may also be transmitted through thecommunication network and received at the computing device.

In another example, the information describing the condition of thevehicle provided by the computing device may include vehicle On-BoardDiagnostic Parameter Identifiers (PIDs) and one or more valuesassociated with each PID (PID values). As an example, a PID may includea parameter identifier that can be used to request (e.g., through adiagnostic tool and a DLC) PID values from electronic control modules ofthe vehicle, and the PID values may indicate, for example, fuel systemstatus, engine coolant temperature, fuel trim, fuel pressure, enginerevolutions/minute (RPMs), vehicle speed, timing advance, and intake airtemperature. Other example PID values are possible as well.

In still another example, the information describing the condition ofthe vehicle may include vehicle freeze frame data. Freeze frame data,for example, may include readings or output of vehicle sensors obtainedat a given point in time when a malfunction is detected and/or a DTC isset by an ECU or shortly thereafter (for example, within 100 ms of theDTC being set). As an example, the freeze frame data may include arecord of engine condition (e.g., fuel system, calculated load, enginecoolant temperature, fuel trim, engine speed, vehicle speed, etc.) whenthe malfunction is detected and/or a DTC is set by an ECU.

At block 204, the method 200 includes matching, by the computing device,the vehicle information to content of a vehicle repair database so as toidentify repair information relating to the vehicle. The computingdevice (e.g., the server 120 in FIG. 1B) may be configured to be incommunication with a vehicle repair database (e.g., the vehicle repairdatabase 122 in FIG. 1B) that may include information relating to priorexperience of repairing vehicles, for example. The vehicle repairdatabase may also include original equipment manufacturer (e.g.,automakers or part suppliers) vehicle information includingcomponent-specific information. The vehicle repair database may beupdated on a frequent basis with new repair cases and componentinformation to ensure that content of the vehicle repair database is upto date.

In another example, the vehicle repair database may include vehiclediagnostic baseline data. Vehicle diagnostic baseline data may include,for example, reference data that are recorded during an interval ofmalfunction-free operation of the vehicle. In an example, the referencedata can include data provided by an original equipment manufacturer(OEM) regarding recommended operating condition of the vehicle. In someexamples, a data logger can be installed on the vehicle to collect thereference data (e.g., sensor output data). In an example, respectivereference data from a number of vehicles similar to the vehicle (e.g.,same YMM, etc.) can be combined and/or aggregated into a set ofaggregated data. The aggregation process can include determining aclassification and/or reliability for the aggregated data. The referencedata for the vehicle and other data can used to generate baseline datafor the vehicle. The baseline data may include a statistical summaryover data taken for vehicles that share core-vehicle information (e.g.,YMM, and/or ECU type/release information). The baseline data can getaggregated and/or updated over time. For example, as more data isaggregated for vehicles under service that share core-vehicleinformation, the baseline data can have higher confidence values and/orintervals for aggregated baseline data over time. Collection andgeneration of vehicle diagnostic baseline data are described in U.S.patent application Ser. No. 13/031,565, filed on Feb. 21, 2011, andentitled “Diagnostic Baselining,” which is herein incorporated byreference as if fully set forth in this description.

In one example, the reference data or baseline data may be collected andsaved at the repair shop or service facility where the vehicle is andhas been serviced overtime and may be provided to the vehicle repairdatabase on a frequent basis. In an example, the server may beconfigured to compare the information describing the condition of thevehicle to the baseline data to determine a current malfunction of thevehicle and, accordingly, identify the vehicle repair information.

In some examples, for each of the vehicle repair cases, the computingdevice may be configured determine a given location of a given vehicleassociated with that repair case (e.g., through a zip code or mailingcode of a repair shop repairing the given vehicle) to request weatherinformation related to weather conditions at the given location of thegiven vehicle. For example, the computing device may be configured torequest the weather information from a third party (e.g., the NationalOceanic and Atmospheric Administration's National Weather Service)through the internet. The computing device may be configured to receivethe requested weather information, associate the requested weatherinformation with the repair order and store the repair order andassociated weather information in the vehicle repair database.Therefore, the vehicle repair database may be configured to store eachvehicle repair case (e.g., repair order content, attempted fixes,successful fixes, etc.) in addition to weather information associatedwith that vehicle repair case. The weather information may include, forexample, temperature, barometric pressure, humidity, precipitation, etc.

The computing device may be configured to match the received vehicleinformation to the content of the vehicle repair database to mineinformation stored in the vehicle repair database and identify ordetermine repair information relating to the vehicle.

The repair information may include, for example, tips, solutions,potential fixes, a list of parts that may need to be replaced, testprocedures, repair procedures, questions and answers related to thecondition of the vehicle, etc. In an example, the computing device maybe configured to match keywords or combinations of keywords in therepair order along with other vehicle information (e.g., vehicle's YMM,mileage or odometer reading, etc.) to content of stored repair cases todetermine prioritized fixes, relevant component test procedures, etc.Those skilled in the art will appreciate that other algorithms andarrangements and other elements can be used for matching the vehicleinformation to the content of the vehicle repair database.

In an example, upon receiving the identification information of thevehicle and an odometer reading (i.e., current mileage), the computingdevice may be configured to match the identification information and theodometer reading to the content of the vehicle repair database toidentify or predict a common problem, malfunction, or a component (e.g.,sensor) failure expected to occur without receiving the informationdescribing the condition of the vehicle.

A level of details and applicability of the identified repairinformation may be commensurate with a given level of details andaccuracy of the vehicle information received at the computing device.

At block 206, the method 200 includes receiving, at the computingdevice, geographic information identifying a geographic locationrelating to the vehicle. The computing device further may be configuredto receive geographic information (e.g., longitude and latitude)identifying a geographic location relating to the vehicle such as alocation of the vehicle or the repair shop where the vehicle is beingrepaired.

In one example, the geographic information may include informationidentifying an original sale location of the vehicle. The vehicle may beserviced at a repair shop in Ohio but may have originally been purchasedin California and may, thus, include special components and subsystemsthat are designed to meet California's emissions requirements, forexample.

In another example, the geographic information may also includeinformation identifying locations at which the vehicle was previouslydriven. In another example, the geographic information may includeinformation identifying locations that are similar to the location ofthe vehicle in weather conditions, altitude, etc.

In still another example, the geographic information may includeinformation identifying a given location that may have had weatherconditions similar to given weather conditions on a date or time of yearthat the vehicle 102 started showing symptoms of the malfunction.

In yet another example, the computing device may be configured toreceive the vehicle information through the internet and may beconfigured to identify the location of the vehicle or the repair shopfrom the Internet Protocol (IP) address from which the vehicleinformation is received.

At block 208, the method 200 includes providing, from the computingdevice to a communication network, a subset of the identified repairinformation based on the geographic information. As described above atblock 204, the computing device may be configured to match the vehicleinformation to the content of the vehicle repair database to identifyrepair information relating to the vehicle. The identified repairinformation may include a wide scope of information and the computingdevice may be configured to determine a subset of the identified repairinformation based on the geographic information. The subset of repairinformation may, thus, be tailored or specific to an environment of thevehicle in addition to the condition of the vehicle. The subset ofrepair information may represent data obtained by filtering theidentified repair information by geographic location.

In another example, instead of identifying repair information based onthe vehicle information and then determining the subset of repairinformation from the identified repair information based on thegeographic location, the computing device may be configured to receivethe vehicle information; receive the geographic information; and matchboth the vehicle information and the geographic information to thecontent of the vehicle repair database to determine a set of repairinformation tailored to the vehicle.

For example, the geographic information may identify a given originalsale location of the vehicle that may be indicative of specialcomponents or subsystems coupled to the vehicles. The computing devicemay be configured to match the geographic information as well as thevehicle information to the content of the vehicle repair database toidentify a focused set of repair information that is specific to thevehicle being repaired.

In another example, weather conditions may have a noticeable influenceon a type of malfunction or problem the vehicle may be experiencing. Forexample, the vehicle may be driven in winter in a cold location and mayexperience cold-related vehicle problems. The computing device may beconfigured to receive the geographic information that is indicative ofthe location of the vehicle and receive information related toassociated weather conditions. Based on such information, the computingdevice may be configured to provide the subset of the identified repairinformation that may be take into account the associated weatherconditions.

In addition to or alternative to weather conditions, an altitude atwhich the vehicle may be driven may have an influence on the type ofmalfunction of problem the vehicle may be experiencing. The computingdevice may be configured to receive the geographic informationindicative of the altitude at a given location where the vehicleexperienced a given problem and may be configured, accordingly, toprovide the subset of repair information.

As an example for illustration, the vehicle may be at a repair shop inDallas, Tex., United States, but may have started experiencing a givenmalfunction or problem in Denver, Colo., United States. The computingdevice may be configured to receive such information associated with adriving history of the vehicle (history of locations at which thevehicle may have been driven) and may accordingly provide the subset ofrepair information that takes into account Denver's environment (e.g.,altitude, weather conditions, etc.).

In still another example, the vehicle repair database may not includegiven repair information relevant to a given location of the vehicle.However, the vehicle repair database may include respective repairinformation associated to a respective location that may be similar tothe given location of the vehicle being repaired in weather conditionsor altitude, for example. Providing respective repair informationassociated with the respective location may be relevant to the givenlocation of the vehicle.

Thus, the computing device may be configured to provide the subset ofthe identified repair information including region-specific informationthat takes into account the environment or circumstances of the vehiclebeing repaired. The computing device may be configured to provide thesubset of the identified repair information, through the communicationnetwork, to another computing device that may be located at the givenlocation at which the vehicle is being repaired.

FIG. 3 is a flow chart of another example method 300 to provide vehiclerepair information, in accordance with an example embodiment. The method300 described in FIG. 3 may, for example, be used by the example systemsdescribed in FIGS. 1A-1B and may be implemented by a client computingdevice communicating with a server side computing device. Examples ofthe client computing device may include the computing device 114, theshop management computing device 116, any other computing device at therepair shop that may be accessed by a technician assigned to repair agiven vehicle, or a personal computing device used by a customerrequiring information on repairing the given vehicle.

At block 302, the method 300 includes providing to a communicationnetwork, by a computing device, vehicle information comprising one ormore of (i) identification information of a vehicle, and (ii)information describing condition of the vehicle. As described above withrespect to block 202 of the method 200, the identification informationof the vehicle may include one or more of year of manufacture, make,model (YMM) of the vehicle, and VIN. The computing device may beconfigured to receive the identification information and provide theidentification information through a communication network to a serverat a remote location, for example.

Additionally or alternatively, the computing device may be configured toprovide to the server information describing condition of the vehicle.The information describing condition of the vehicle may, for example,include odometer reading (i.e., mileage driven by the vehicle), adiagnostic trouble code (DTC), Parameter IDs (PIDs) and PID values,frame freeze data, sensor output data, and symptoms of a malfunctionthat the vehicle may be experiencing. The symptoms may for example be arecord of a customer complaint that may be described in a repair order.The information describing condition of the vehicle may be received atthe computing device through the diagnostic tool coupled to thecomputing device and connected to an electronic vehicle control moduleto download the information. The computing device may be configured toprovide the information to the server.

At block 304, the method 300 includes providing to the communicationnetwork, by the computing device, geographic information identifying ageographic location relating to the vehicle. For example, a GPSsensor/module may be coupled to the computing device and the sensor ormodule may be configured to provide to the computing device informationidentifying a location of the computing device and/or the repair shopwhere the vehicle is being serviced. The computing device further may beconfigured to provide to the server through the communication networkthe information identifying the location. In one example, in addition oralternative to using the GPS sensor, the computing device may beconfigured to provide location information (e.g., zip code) of therepair shop with the vehicle information provided to the server. Instill another example, the vehicle may include a GPS sensor that may beconfigured to provide the geographic information directly to the server.These examples are for illustration only. Other means for providing theserver with geographic information identifying the geographic locationare possible.

In addition or alternative to providing the location of the repair shopor the vehicle being serviced, the computing device may provideinformation identifying an original sale location, locations associatedwith a driving history of the vehicle, etc. As described above withrespect to the method 200 in FIG. 2, the server may be configured toreceive other information (e.g., weather information) associated withthe geographic information provided by the computing device.

At block 306, the method 300 includes receiving from the communicationnetwork, at the computing device, repair information based on thevehicle information and the geographic information. As described abovewith respect to the method 200 in FIG. 2, the server may be configuredto match the vehicle information and the geographic information,provided by the computing device, to content of a vehicle repairdatabase to identify repair information. The computing device may beconfigured to receive the repair information from the server through thecommunication network.

The computing device further may be configured to generate a display ofor visually present the repair information on a display device coupledto the computing device. The visual presentation may include, forexample, an interface (e.g., a display of a dashboard) to interact witha user (e.g., technician or customer).

FIG. 4A illustrates an example interface for providing vehicle repairinformation, in accordance with an example embodiment. A display of theinterface 400 may be generated or visually presented by a computingdevice on a display device coupled to the computing device. As examples,the computing device 114, or the shop management computing device 116,described in FIGS. 1A-1B, or any other computing device that may beaccessed by a technician assigned to repair a given vehicle or acustomer requiring information on repairing the given vehicle maygenerate a display of the interface 400. The interface 400 may be, forexample, a webpage or any other software interface display generated byexecuting instructions stored on a memory of the computing device.Information input through the interface 400 may be transmitted to aserver over a network (e.g., the internet) and the server, accordingly,may be configured to provide through the network vehicle repairinformation to be displayed on the interface 400.

Vehicle identification information 402 such as year, make, model,odometer reading, and engine type of the vehicle may be specified for avehicle. Also, a search term or search query may be input by way of asearch terms input box 404, for example. Examples of search terms mayinclude a DTC, a part name, test procedure, or any other search termsdescribing condition of the vehicle (e.g., describing a malfunction or avehicle problem that the vehicle may be experiencing). Other informationthat may be input through the interface 400 may include geographicinformation relating to a geographic location of the vehicle (e.g., azip code of a repair shop where the information is being input).Further, the user may be given an option (e.g., a drop down menu) todefine or determine a region or a geographic boundary encompassing thelocation of the repair shop such as multiple States (e.g., Midwest,United States), State, county, city, a given region within a givendistance, etc. Alternatively, the region may be predefined by thecomputing device (e.g., within a predetermine distance from the repairshop).

The server may, thus, receive through the network vehicle informationincluding identification information for the vehicle and/or informationdescribing condition of the vehicle as well as the geographicinformation. As described in the method 200, the server may match thevehicle information to content of a vehicle repair database and may,accordingly, provide through the communication network vehicle repairinformation corresponding to the identification information and theinformation describing the condition of the vehicle. Additionally, theinformation may be focused (e.g., region-specific) based on thegeographic information.

The interface 400 may include several tabs 406 such as “Fast Track”,“Tips”, “Real Fixes”, “Fixed Its”, and “Q&A”. These tabs are forillustration only, and other tabs are possible (e.g., “solutions”,etc.). The “Tips” tab, for example, may provide general tips about agiven vehicle part/component, or problem.

The “Real Fixes” tab, for example, may provide a list of repairs orpotential vehicle fixes that fixed the malfunction on other vehiclesthat experienced the malfunction or on the vehicle on a previousoccurrence of the malfunction. In an example, the list of repairs may beranked from most likely to least likely fixes based on a number ofvehicles reported to have a condition similar to the condition of thevehicle, and which were repaired using repairs of the list of repairsranked. The ranking may be indicative of a successful fix count of eachfix of the potential vehicle fixes, for example.

The “Fixed Its” tab, for example, may provide the successful fix countof each fix of the potential vehicle fixes shown in “Real Fixes”. In anexample, the technician may be provided with a list of the Real Fixes onthe interface 400 and another list to pick whether a respective Real Fixhas been successful or not. In another example, the technician mayprovide on a repair order a code that indicates whether a given fix ofthe Real Fixes has been successful. Such information (e.g., code or listpicks) may be transmitted to the server, and the server may update thevehicle repair information (e.g., update a respective successful countin the “Fixed Its” tab) stored in the vehicle repair database to addthis information.

The “Q&A” tab, for example, may provide most common questions andrelevant answers associated with a given topic or the vehicle problem.Each tab may include a content indication 408 showing, for example, howmany items are within each tab (e.g., how many fixes are available underthe “Real Fixes” tab).

The “Fast Track” tab may provide, for example, a Fast Track block 410including information 412 relevant to the vehicle information received.For example, if a DTC is specified, the information 410 may includeinformation on definition of the DTC, description of the DTC, andgeneral causes of the DTC.

The interface 400 may also include a component Tests and Informationblock 414 that may include component and test information 416. Thecomponent and test information 416 may include wiring diagrams,information identifying location of a failed component (e.g., associatedwith the DTC) in the vehicle, component specification, etc.

The interface 400 may also include a data library block 418 that mayinclude library information 420. The library information 420 mayinclude, for example, scan data images, oscilloscope waveforms,component photos, and other vehicle-specific images, documents andvideos, etc.

The interface 400 further may include common replaced parts block 422.The common replaced parts block 422 may include, for example, a rankingof top replaced parts or failed components associated with the DTC orcondition of the vehicle. The ranking may be based on a number ofvehicles reported to have a similar condition to the condition of thevehicle, and may be indicative of successful fix count associated withreplacing each component of the failed or replaced components, forexample.

In an example, the common replaced parts block 422 may visually presenta graph 424 depicting data that represents a percentage or a proportionof vehicles, based on a number of vehicles reported to have a conditionsimilar to the condition of the vehicle, that replaced a failed partassociated with the condition as a function of miles driven. The graph424 shows an example of two sensors A and B and the percentage ofvehicles that replaced the sensors as a function of mileage. The graph424 also illustrates an odometer indication 425 representing the mileagedriven by the vehicle as a way of indicating a probability that thevehicle may be repaired by replacing the sensors A and/or B based on thenumber of vehicles reported to have a condition similar to the conditionof the vehicle.

FIG. 4B illustrates another example interface for providing vehiclerepair information, in accordance with an example embodiment. Theinterface 400 in FIG. 4B includes a top replaced parts ranking block426. The top replaced parts ranking block 426 may depict, for example, abar graph 428 showing top replaced parts (or failed components) based ona number of vehicles reported to have a similar condition to thecondition of the vehicle. The ranking may be indicative of successfulfix count associated with replacing each part of the top replaced parts.For example, the bar graph 428 shows the ranking of components A-F for agiven odometer reading or range 430. Categorization tabs 432 may allowpresenting the bar graph 428 to show top replaced parts by engine type,body type, transmission type, year in which the vehicle was made, modelyear, geographic location relating to the vehicle, diagnostic troublecode (DTC), Parameter IDs (PIDs), sensor data, freeze frame data, or anyother categorization. In an example, bars representing the componentsA-F in the bar graph 428 may be selectable by the user. Upon selectingone of the bars or component, more information about the selectedcomponent may be displayed such as the component and test information416, the library information 420, and the graph 424 in FIG. 4A.

The interface 400 may also include tips, solutions, questions presentedin block 434 and may also include the component test and informationblock 414 and the data library block 418 previously described in FIG.4A.

In an example, the interface 400 may be configured to allow thetechnician or user of the interface 400 to provide feedback on thevehicle repair information received from the server. The feedback, forexample, may be an indication of success or failure of one of the RealFixes attempted to repair the vehicle. In an example, the technician oruser may indicate whether the vehicle repair information is helpful inrepairing the vehicle. In another example, the technician may providecomments and details related to technician's experience in using thevehicle repair information and also may provide improvements or updatesthat the technician may suggest to be added to the vehicle repairinformation provided by the server. The server may be configured toreceive the feedback and update the vehicle repair database accordingly.For example, if a Real Fix, provided as part of the vehicle repairinformation, is successful in repairing the vehicle, the technician mayprovide an indication of the success, and the server may update theinformation in the “Fixed Its” tab accordingly.

In one example, the computing device used by the technician or user maybe online (e.g., connected to the network) and continuously inconnection with the server. In this example, the feedback may be sent inreal-time or near real-time to the server when provided by thetechnician.

In another example, the computing device used by the technician or usermay not be continuously connected with the server; instead a connectionmay be established periodically (e.g., every night). In this example,the feedback information may be stored locally (e.g., offline) at thecomputing device used by the technician and may be sent to the serverwhen a connection is later established.

The layouts and examples in FIGS. 4A-4B are for illustration only. Otherexamples, layouts, data formats, graph formats, and arrangements arepossible.

FIG. 5 is a functional block diagram illustrating an example computingdevice 500 used in a computing system that is arranged in accordancewith at least some embodiments described herein. The computing device500 may be a personal computer, mobile device, cellular phone, videogame system, or global positioning system, and may be implemented as aclient device, a server, a system, a combination thereof, or may be partof the system 100 shown in FIGS. 1A-1B. For example, the computingdevice 500 may describe the server 120, the computing device 114, or theshop management computing device 116 in FIG. 1B.

In a basic configuration 502, computing device 500 may include one ormore processors 510 and system memory 520. A memory bus 530 can be usedfor communicating between the processor 510 and the system memory 520.Depending on the desired configuration, processor 510 can be of any typeincluding but not limited to a microprocessor (μP), a microcontroller(μC), a digital signal processor (DSP), or any combination thereof. Amemory controller 515 can also be used with the processor 510, or insome implementations, the memory controller 515 can be an internal partof the processor 510.

Depending on the desired configuration, the system memory 520 can be ofany type including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof. System memory 520 may include one or more applications 522, andprogram data 524. Application 522 may include vehicle repair informationalgorithm 523, in accordance with the present disclosure. Program Data524 may include content information 525 that could be directed to anynumber of types of data. In some example embodiments, application 522can be arranged to operate with program data 524 on an operating system.

Computing device 500 can have additional features or functionality, andadditional interfaces to facilitate communications between the basicconfiguration 502 and other devices or components. For example, datastorage devices 540 can be provided including removable storage devices542, non-removable storage devices 544, or a combination thereof.Examples of removable storage and non-removable storage devices includemagnetic disk devices such as flexible disk drives and hard-disk drives(HDD), optical disk drives such as compact disk (CD) drives or digitalversatile disk (DVD) drives, solid state drives (SSD), and tape drivesto name a few. Computer storage media can include volatile andnonvolatile, non-transitory, removable and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules, orother data.

System memory 520 and storage devices 540 are examples of computerstorage media. Computer storage media includes, but is not limited to,RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM,digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by computing device 500.Any such computer storage media can be part of device 500.

Computing device 500 can also include output interfaces 550 that mayinclude a graphics processing unit 552, which can be configured tocommunicate to various external devices such as display devices 560 orspeakers via one or more A/V ports 554 or a communication interface 570.The communication interface 570 may include a network controller 572,which can be arranged to facilitate communications with one or moreother computing devices 580 over a network communication via one or morecommunication ports 574. As an example, the computing device 500 mayrepresent a given basic configuration of the server 120 in FIG. 1B. Inthis example, the other computing devices 580 may include the computingdevice 114 or the shop management computing device 116. Alternatively,the computing device 500 may represent a respective basic configurationof the computing device 114 and the other computing devices 580 mayinclude the shop management computing device 116 and the server 120, forexample. The network controller 572 can also be arranged to facilitatecommunications with one or more sensors 582 (e.g., a GPS sensor). Theone or more sensors 582 are shown external to the computing device 500,but may also be internal to the device. Communication media may beembodied by computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. A modulated data signal can be a signal that has one or more ofits characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media can include wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, radiofrequency (RF), infrared (IR) and other wireless media.

In some embodiments, the disclosed methods may be implemented ascomputer program instructions encoded on a computer-readable storagemedia in a machine-readable format, or on other non-transitory media orarticles of manufacture. FIG. 6 is a schematic illustrating a conceptualpartial view of an example computer program product 600 that includes acomputer program for executing a computer process on a computing device,arranged according to at least some embodiments presented herein. In oneembodiment, the example computer program product 600 is provided using asignal bearing medium 601. The signal bearing medium 601 may include oneor more program instructions 602 that, when executed by one or moreprocessors may provide functionality or portions of the functionalitydescribed above with respect to FIGS. 1-5. Thus, for example, referringto the embodiments shown in FIGS. 2 and 3, one or more features ofblocks 302-208 and 302-306 may be undertaken by one or more instructionsassociated with the signal bearing medium 601. In addition, the programinstructions 602 in FIG. 6 describe example instructions as well.

In some examples, the signal bearing medium 601 may encompass acomputer-readable medium 603, such as, but not limited to, a hard diskdrive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape,memory, etc. In some implementations, the signal bearing medium 801 mayencompass a computer recordable medium 604, such as, but not limited to,memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations,the signal bearing medium 601 may encompass a communications medium 605,such as, but not limited to, a digital and/or an analog communicationmedium (e.g., a fiber optic cable, a waveguide, a wired communicationslink, a wireless communication link, etc.). Thus, for example, thesignal bearing medium 601 may be conveyed by a wireless form of thecommunications medium 605 (e.g., a wireless communications mediumconforming to the IEEE 802.11 standard or other transmission protocol).

The one or more programming instructions 602 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the computing device 500 of FIG. 5may be configured to provide various operations, functions, or actionsin response to the programming instructions 602 conveyed to thecomputing device 500 by one or more of the computer readable medium 603,the computer recordable medium 604, and/or the communications medium605. It should be understood that arrangements described herein are forpurposes of example only. As such, those skilled in the art willappreciate that other arrangements and other elements (e.g. machines,interfaces, functions, orders, and groupings of functions, etc.) can beused instead, and some elements may be omitted altogether according tothe desired results. Further, many of the elements that are describedare functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in anysuitable combination and location.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopebeing indicated by the following claims, along with the full scope ofequivalents to which such claims are entitled. It is also to beunderstood that the terminology used herein is for the purpose ofdescribing particular embodiments only, and is not intended to belimiting.

Since many modifications, variations, and changes in detail can be madeto the described embodiments, it is intended that all matters in thepreceding description and shown in the accompanying drawings beinterpreted as illustrative and not in a limiting sense. It is intendedto be understood that the following clauses further describe aspects ofthe present application.

(1) A method, comprising:

receiving, at a computing device, vehicle information comprising one ormore of (i) identification information of a vehicle, and (ii)information describing condition of the vehicle;

matching, by the computing device, the vehicle information to content ofa vehicle repair database so as to identify repair information relatingto the vehicle;

receiving, at the computing device, geographic information identifying ageographic location relating to the vehicle; and

providing, from the computing device to a communication network, asubset of the identified repair information based on the geographicinformation.

(2) The method of clause (1), wherein the identification informationincludes one or more of: (i) year in which the vehicle was made, (ii)model year, (iii) make of the vehicle, (iv) model of the vehicle, (v)engine type of the vehicle, and (vi) vehicle identification number, andwherein the information describing condition of the vehicle includes oneor more of: (vii) odometer reading of the vehicle, (viii) a diagnostictrouble code (DTC), (ix) a symptom of a malfunction of the vehicle, (x)Parameter IDs (PIDs) and PID values, (xi) sensor data, and (xii) freezeframe data.

(3) The method of clause (1) or (2), wherein the geographic informationincludes an altitude of the geographic location relating to the vehicle.

(4) The method of clause (1), (2), or (3), further comprising receivinginformation associated with a region with an altitude similar to a givenaltitude at a given location of the vehicle, wherein providing thesubset of the identified repair information is based on the informationassociated with the region.

(5) The method of clause (1), (2), (3), or (4), wherein the geographicinformation includes information identifying an original sale locationof the vehicle.

(6) The method of clause (1), (2), (3), (4), or (5), wherein thegeographic information includes historical geographic informationidentifying locations at which the vehicle was driven.

(7) The method of clause (1), (2), (3), (4), (5), or (6), the geographiclocation relating to the vehicle is a location with weather conditionssimilar to given weather conditions at a given location of the vehicle.

(8) The method of clause (1), (2), (3), (4), (5), (6), or (7), whereinthe geographic information includes information identifying a locationof a repair shop where the vehicle is being repaired.

(9) The method of clause (1), (2), (3), (4), (5), (6), (7), or (8),wherein the geographic location relating to the vehicle is a locationwith weather conditions similar to given weather conditions at a givenlocation of the vehicle on a date on which: (i) the vehicle experienceda given malfunction, or (ii) the vehicle is being repaired.

(10) The method of clause (1), (2), (3), (4), (5), (6), (7), (8), or(9), wherein providing the subset of repair information comprisesproviding a ranking of top replaced parts for the vehicle based on thevehicle information and the geographic location, wherein the ranking isindicative of successful fix count associated with replacing each partof the top replaced parts.

(11) The method of clause (1), (2), (3), (4), (5), (6), (7), (8), (9),or (10), wherein the vehicle information includes the informationdescribing condition of the vehicle, and wherein providing the subset ofthe identified repair information comprises providing a ranking ofpotential vehicle fixes to a given malfunction based on a number ofvehicles reported to have a condition similar to the condition of thevehicle, wherein the ranking is indicative of successful fix count ofeach fix of the potential vehicle fixes.

(12) The method of clause (11) wherein providing the ranking comprisesproviding a given ranking of replaced components based on one or moreof: (i) odometer reading, (ii) engine type of the vehicle, (iii)transmission type of the vehicle, (iv) body type of the vehicle, (v)year in which the vehicle was made, (vi) a model year, (vii) thegeographic location relating to the vehicle, (viii) diagnostic troublecode (DTC), (ix) Parameter IDs (PIDs), (x) sensor data, and (xi) freezeframe data.

(13) The method of clause (1), (2), (3), (4), (5), (6), (7), (8), (9),(10), (11) or (12), wherein the vehicle information includes theinformation describing condition of the vehicle, and wherein providingthe subset of the identified repair information comprises providing datarepresenting a percentage of vehicles, based on a number of vehiclesreported to have a condition similar to the condition of the vehicle,that replaced a failed part associated with the condition as a functionof miles driven.

(14) The method of clause (13), further comprising providing in the dataan indication of a current odometer reading of the vehicle.

(15) A non-transitory computer readable medium having stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions comprising:

receiving, from a communication network, vehicle information comprisingone or more of (i) identification information of a vehicle, and (ii)information describing condition of the vehicle;

matching the vehicle information to content of a vehicle repair databaseso as to identify repair information relating to the vehicle;

receiving, from the communication network, geographic informationidentifying a geographic location relating to the vehicle; and

providing, to the communication network, a subset of the identifiedrepair information based on the geographic information.

(16) The non-transitory computer readable medium of clause (15), whereinthe function of providing the subset of repair information comprises:

providing data representing a proportion of vehicles, based on a numberof vehicles reported to have a condition similar to the condition of thevehicle, that replaced a failed component associated with the conditionas a function of miles driven; and

providing in the data an indication of miles driven by the vehicle.

(17) The non-transitory computer readable medium of clause (15) or (16),wherein receiving the geographic information includes receivinginformation associated with a geographic region with weather conditionssimilar to given weather conditions at a given location of the vehicle.

(18) A system, comprising:

a vehicle repair database including one or more of (i) informationrelating to prior experience of repairing vehicles, and (ii) originalequipment manufacturer vehicle information including component-specificinformation; and

a computing device coupled to the vehicle repair database, wherein thecomputing device includes a non-transitory computer readable storagedevice storing computer readable instructions, a processor configured toexecute the computer readable instructions, and a communication deviceconfigured to transmit data to a communication network and to receivegiven data from the communication network, and wherein the computingdevice is configured to:

-   -   receive, from the communication network, vehicle information        comprising one or more of (i) identification information of a        vehicle, and (ii) information describing condition of the        vehicle;    -   identify repair information relating to the vehicle based on        matching of the vehicle information to content of the vehicle        repair database;    -   receive, from the communication network, geographic information        identifying a geographic location relating to the vehicle; and    -   provide, to the communication network, a subset of the        identified repair information based on the geographic        information.

(19) The system of clause (18), wherein the geographic location relatingto the vehicle has one or more of (i) an altitude similar to a givenaltitude at a given location of the vehicle, and (ii) weather conditionssimilar to given weather conditions at the given location of the vehicleor similar to respective weather conditions on a date on which thevehicle experienced a given malfunction or is being repaired.

(20) The system of clause (18) or (19), wherein the computing device isfurther configured to provide data representing a ranking of failedcomponents based on a number of vehicles reported to have a similarcondition to the condition of the vehicle, wherein the ranking isindicative of successful fix count associated with replacing eachcomponent of the failed components, and wherein the ranking is based onone or more of: (i) odometer reading, (ii) engine type of the vehicle,(iii) transmission type of the vehicle, (iv) body type of the vehicle,(v) year in which the vehicle was made, (vi) a model year, (vii) thegeographic location relating to the vehicle, (viii) diagnostic troublecode (DTC), (ix) Parameter IDs (PIDs), (x) sensor data, and (xi) freezeframe data.

(21) The system of clause (18), (19), or (20), wherein the computingdevice is further configured to:

receive repair order information for the vehicle;

determine the geographic location relating to the vehicle from therepair order information;

transmit, to the communication network, a request for weatherinformation for the determined geographic location;

receive, from the communication network, the weather information for thedetermined geographic location, based on the request;

associate the weather information with the repair order information; and

store the repair order information with the associated weatherinformation.

(22) A method, comprising:

providing to a communication network, by a computing device, vehicleinformation comprising one or more of (i) identification information ofa vehicle, and (ii) information describing condition of the vehicle;

providing to the communication network, by the computing device,geographic information identifying a geographic location relating to thevehicle; and

receiving from the communication network, at the computing device,repair information based on the vehicle information and the geographicinformation.

(23) The method of clause (22), wherein the identification informationincludes one or more of: (i) year in which the vehicle was made, (ii)model year, (iii) make of the vehicle, (iv) model of the vehicle, (v)engine type of the vehicle, (vi) vehicle identification number, andwherein the information describing the condition of the vehicle includesone or more of: (vii) odometer reading of the vehicle, (viii) diagnostictrouble codes (DTC), (ix) a symptom of a malfunction of the vehicle, (x)Parameter IDs (PIDs) and PID values, (xi) sensor data, and (xii) freezeframe data.

(24) The method of clause (22) or (23), further comprising visuallypresenting the repair information on a display device coupled to thecomputing device.

(25) The method of clauses (22), (23), or (24), wherein receiving therepair information comprises receiving a ranking of top replaced partsfor the vehicle based on the vehicle information and the geographiclocation, wherein the ranking is indicative of successful fix countassociated with replacing each part of the top replaced parts, themethod further comprising visually presenting the ranking on a displaydevice coupled to the computing device.

(26) The method of clause (22), (23), (24), or (25), wherein receivingthe repair information comprises receiving a ranking of replacedcomponents based on a number of vehicles reported to have a conditionsimilar to the condition of the vehicle, wherein the ranking isindicative of successful fix count associated with replacing eachcomponent of the replaced components.

(27) The method of clause (26), wherein the ranking is based on one ormore of: (i) odometer reading, (ii) engine type of the vehicle, (iii)transmission type of the vehicle, and (iv) body type of the vehicle, (v)year in which the vehicle was made, (vi) a model year, (vii) thegeographic location relating to the vehicle, (viii) diagnostic troublecode (DTC), (ix) Parameter IDs (PIDs), (x) sensor data, and (xi) freezeframe data.

(28) A system, comprising:

a display device; and

a computing device coupled to the display device, wherein the computingdevice includes a non-transitory computer readable storage devicestoring computer readable instructions, a processor configured toexecute the computer readable instructions, and a communication deviceconfigured to transmit data to a communication network and to receivegiven data from the communication network, and wherein the computingdevice is configured to:

-   -   provide, to the communication network, vehicle information        comprising one or more of (i) identification information of a        vehicle, and (ii) information describing condition of the        vehicle;    -   provide, to the communication network, geographic information        identifying a geographic location relating to the vehicle;    -   receive, from the communication network, repair information        based on the vehicle information and the geographic information;        and    -   generate a display of the repair information on the display        device.

(29) The system of clause (28), further comprising a Global PositioningSystem (GPS) sensor coupled to the computing device and configured toprovide to the computing device the geographic information identifyingthe geographic location of the vehicle or the computing device.

(30) The system of clause (28) or (29), wherein the computing device isconfigured to receive the repair information as data representing apercentage or a proportion of vehicles, based on a number of vehiclesreported to have a condition similar to the condition of the vehicle,that replaced a failed part associated with the condition as a functionof miles driven.

(31) The system of clause (30), wherein the computing device is furtherconfigured to:

generate a display of a graph depicting the data on the display device;and visually present an indication of a current odometer reading of thevehicle overlaying the graph.

What is claimed is:
 1. A method, comprising: receiving, at a computingdevice, vehicle information comprising (i) a vehicle identifier thatidentifies a vehicle, and (ii) information that describes a condition ofthe vehicle; matching, by the computing device, the vehicle informationto content of a vehicle repair database so as to identify repairinformation that pertains to the vehicle; receiving, at the computingdevice, geographic information that identifies a geographic locationrelated to a current or prior location of the vehicle; identifyingwithin the repair information a subset of repair information that isspecific to the described condition as experienced by other vehicles atthe geographic location related to the current or prior location of thevehicle; and providing, from the computing device to a communicationnetwork, the subset of repair information.
 2. The method of claim 1,wherein the vehicle identifier includes one or more of: (i) year inwhich the vehicle was made, (ii) model year, (iii) make of the vehicle,(iv) model of the vehicle, (v) engine type of the vehicle, and (vi)vehicle identification number, and wherein the information thatdescribes the condition of the vehicle includes one or more of: (vii)odometer reading of the vehicle, (viii) a diagnostic trouble code (DTC),(ix) a symptom of a malfunction of the vehicle, (x) Parameter IDs (PIDs)and PID values, (xi) sensor data, and (xii) freeze frame data.
 3. Themethod of claim 1, wherein the geographic information defines analtitude of the geographic location related to the current or priorlocation of the vehicle.
 4. The method of claim 1, wherein thegeographic location related to the current or prior location of thevehicle comprises a region with an altitude similar to a given altitudeat the current or prior location of the vehicle, wherein identifying thesubset of repair information is based on the altitude at the region. 5.The method of claim 1, wherein the prior location of the vehicle is anoriginal sale location of the vehicle.
 6. The method of claim 1, whereinthe prior location of the vehicle identifies a location at which thevehicle was previously driven.
 7. The method of claim 1, wherein thegeographic location related to the current or prior location of thevehicle is a location with weather conditions similar to given weatherconditions at the current or prior location of the vehicle.
 8. Themethod of claim 1, wherein the geographic location related to thecurrent or prior location of the vehicle is a location of a repair shopwhere the vehicle is being repaired.
 9. The method of claim 1, whereinthe geographic location related to the current or prior location of thevehicle is a location with weather conditions similar to given weatherconditions at the current or prior location of the vehicle on a date onwhich: (i) the vehicle experienced a given malfunction, or (ii) thevehicle is being repaired.
 10. The method of claim 1, wherein providingthe subset of repair information comprises providing a ranking of topreplaced parts for the vehicle based on the vehicle information and thegeographic location related to the current or prior location of thevehicle, wherein the ranking is indicative of successful fix countassociated with replacing each part of the top replaced parts.
 11. Themethod of claim 1, wherein providing the subset of repair informationcomprises providing a ranking of potential vehicle fixes to a givenmalfunction based on a number of the other vehicles reported to have acondition similar to the condition of the vehicle, wherein the rankingis indicative of successful fix count of each fix of the potentialvehicle fixes.
 12. The method of claim 11, wherein providing the rankingcomprises providing a given ranking of replaced components based on oneor more of: (i) odometer reading, (ii) engine type of the vehicle, (iii)transmission type of the vehicle, (iv) body type of the vehicle, (v)year in which the vehicle was made, (vi) a model year, (vii) thegeographic location related to the current or prior location of thevehicle, (viii) diagnostic trouble code (DTC), (ix) Parameter IDs(PIDs), (x) sensor data, and (xi) freeze frame data.
 13. The method ofclaim 1, wherein providing the subset of the identified repairinformation comprises providing data representing a percentage ofvehicles, based on a number of the other vehicles reported to have acondition similar to the condition of the vehicle, that replaced afailed part associated with the condition as a function of miles driven.14. The method of claim 13, further comprising providing in the data anindication of a current odometer reading of the vehicle.
 15. Anon-transitory computer readable medium having stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions comprising: receiving, from a communicationnetwork, vehicle information comprising (i) a vehicle identifier thatidentifies a vehicle, and (ii) information that describes a condition ofthe vehicle; matching the vehicle information to content of a vehiclerepair database so as to identify repair information that pertains tothe vehicle; receiving, from the communication network, geographicinformation that identifies a geographic location related to a currentor prior location of the vehicle; identifying within the repairinformation a subset of repair information that is specific to thedescribed condition as experienced by other vehicles at the geographiclocation related to the current or prior location of the vehicle; andproviding, to the communication network, the subset of repairinformation.
 16. The non-transitory computer readable medium of claim15, wherein the function of providing the subset of repair informationcomprises: providing data representing a proportion of vehicles, basedon a number of the other vehicles reported to have a condition similarto the condition of the vehicle, that replaced a failed componentassociated with the condition as a function of miles driven; andproviding in the data an indication of miles driven by the vehicle. 17.The non-transitory computer readable medium of claim 15, wherein thegeographic location related to the current or prior location of thevehicle comprises a geographic region with weather conditions similar togiven weather conditions at the current or prior location of thevehicle.
 18. A system, comprising: one or more processors; and memoryconfigured to store instructions, that when executed by the one or moreprocessors, cause the system to perform functions comprising: receiving,from a communication network, vehicle information comprising (i) avehicle identifier that identifies a vehicle, and (ii) information thatdescribes a condition of the vehicle; matching the vehicle informationto content of a vehicle repair database so as to identify repairinformation that pertains to the vehicle; receiving, from thecommunication network, geographic information that identifies ageographic location related to a current or prior location of thevehicle; identifying within the repair information a subset of repairinformation that is specific to the described condition as experiencedby other vehicles at the geographic location related to the current orprior location of the vehicle; and providing, to the communicationnetwork, the subset of repair information based on the geographicinformation.
 19. The system of claim 18, wherein the vehicle identifierincludes one or more of: (i) year in which the vehicle was made, (ii)model year, (iii) make of the vehicle, (iv) model of the vehicle, (v)engine type of the vehicle, and (vi) vehicle identification number, andwherein the information that describes the condition of the vehicleincludes one or more of: (vii) odometer reading of the vehicle, (viii) adiagnostic trouble code (DTC), (ix) a symptom of a malfunction of thevehicle, (x) Parameter IDs (PIDs) and PID values, (xi) sensor data, and(xii) freeze frame data.
 20. The system of claim 18, wherein thegeographic information defines an altitude of the geographic locationrelated to the current or prior location of the vehicle.
 21. The systemof claim 18, wherein the geographic location related to the current orprior location of the vehicle comprises a region with an altitudesimilar to a given altitude at the current or prior location of thevehicle, wherein the function of identifying the subset of repairinformation comprises identifying the subset based on the altitude atthe region.
 22. The system of claim 18, wherein the prior location ofthe vehicle is an original sale location of the vehicle.
 23. The systemof claim 18, wherein the prior location of the vehicle identifies alocation at which the vehicle was driven.
 24. The system of claim 18,wherein the geographic location related to the current or prior locationof the vehicle is a location having weather conditions similar to givenweather conditions at the current or prior location of the vehicle. 25.The system of claim 18, wherein the geographic location related to thecurrent or prior location of the vehicle is a location of a repair shopwhere the vehicle is being repaired.
 26. The system of claim 18, whereinthe geographic location related to the current or prior location of thevehicle is a location having weather conditions similar to given weatherconditions at the current or prior location of the vehicle on a date onwhich: (i) the vehicle experienced a given malfunction, or (ii) thevehicle is being repaired.
 27. The system of claim 18, wherein thefunction of providing the subset of repair information comprisesproviding a ranking of top replaced parts for the vehicle based on thevehicle information and the geographic location related to the currentor prior location of the vehicle, wherein the ranking is indicative ofsuccessful fix count associated with replacing each part of the topreplaced parts.
 28. The system of claim 18, wherein the function ofproviding the subset of repair information comprises: providing aranking of potential vehicle fixes to a given malfunction based on anumber of the other vehicles reported to have a condition similar to thecondition of the vehicle, wherein the ranking is indicative ofsuccessful fix count of each fix of the potential vehicle fixes.
 29. Thesystem of claim 28, wherein the function of providing the rankingcomprises: providing a given ranking of replaced components based on oneor more of: (i) odometer reading, (ii) engine type of the vehicle, (iii)transmission type of the vehicle, (iv) body type of the vehicle, (v)year in which the vehicle was made, (vi) a model year, (vii) thegeographic location related to the current or prior location of to thevehicle, (viii) diagnostic trouble code (DTC), (ix) Parameter IDs(PIDs), (x) sensor data, and (xi) freeze frame data.
 30. The system ofclaim 18, wherein the function of providing the subset of the identifiedrepair information comprises: providing data representing a percentageof vehicles, based on a number of the other vehicles reported to have acondition similar to the condition of the vehicle, that replaced afailed part associated with the condition as a function of miles driven.31. The system of claim 30, wherein the functions further comprise:providing in the data an indication of a current odometer reading of thevehicle.